package com.example.pilipili.controller;


import com.example.pilipili.common.R;
import com.example.pilipili.pojo.dto.APDto;
import com.example.pilipili.pojo.entity.AdminPrivileges;
import com.example.pilipili.pojo.entity.Privileges;
import com.example.pilipili.service.AdminPrivilegesService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author liyv
 * @since 2023-12-01
 */
@RestController
@RequestMapping("/aps")
public class AdminPrivilegesController {

    @Autowired
    AdminPrivilegesService apService ;

    /**
     * 关联 管理员-权限
     * @param entry aid,pid [note]
     * @return null
     */
    @PostMapping
    public R add(@RequestBody AdminPrivileges entry) {

        return apService.add(entry) ;
    }

    /**
     * 删除 管理员-权限
     * @param up uid,pid
     * @return null
     */
    @PostMapping("/del")
    public R del(@RequestBody AdminPrivileges up) {

        return  apService.del(up) ;

    }

    /**
     * 查询所有 管理员-权限,包括用户信息和权限信息列表
     * @return list up
     */
    @GetMapping
    public R<List<APDto>> getAll() {
        return apService.getUserPrivilegesList();
    }

    /**
     * 查询 某个管理员的权限
     * @param aid
     * @return
     */
    @GetMapping("/bu/{aid}")
    public R<APDto> getByUid(@PathVariable Integer aid ) {
        return apService.getPListByUId(aid) ;
    }

    @GetMapping("/noin/{aid}")
    public R<List<Privileges>> getsNoIn(@PathVariable int aid) {
        return apService.getByNotInAdmin(aid) ;
    }

}

